/**
 * 汉诺塔：
 * 有三个金刚石塔，第一个从小到大摞着64片黄金圆盘。现在把圆盘按大小顺序重新摆放在最后一个塔上。
 * 并且规定，在小圆盘上不能放大圆盘，在三个塔之间一次只能移动一个圆盘。
 */
class Hanoi {
    public static void main(String[] args) {
        Hanoi.move(5, "1", "2", "3");
    }

    public static void move(int n, String from, String buffer, String to) {
        // 如果只要移动一片，直接移动
        if (n == 1) {
            System.out.println(from + "搬到了" + to);
            return;
        }
        // 如果需要移动多片，按照这个逻辑移动，不需要考虑之后是怎么处理的
        move(n - 1, from, to, buffer);
        move(1, from, buffer, to);
        move(n - 1, buffer, from, to);
    }
}